package com.newtouch.bxzs.common.base.model;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.util.Date;

/**
 * 知识卡片实体类
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/1/6 9:36</td>
 * <td>lingshouyi</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author lingshouyi
 * @version 1.0.0
 * @since 1.0.0
 */
@ApiModel(value = "知识卡片对象", description = "知识卡片对象")
@Data
@TableName("ASSISTANT_KNOWLEDGE_CARD")
public class KnowledgeCard {

    /**知识卡片ID*/
    @TableId(value = "KNOWLEDGE_CARD_ID", type = IdType.ASSIGN_UUID)
    private String knowledgeCardId;

    /**知识卡片标题*/
    @TableField("KNOWLEDGE_CARD_TITLE")
    private String knowledgeCardTitle;

    /**知识卡片类型*/
    @TableField("KNOWLEDGE_CARD_TYPE")
    private String knowledgeCardType;

    /**知识卡片简介*/
    @TableField("KNOWLEDGE_CARD_INTRODUCTION")
    private String knowledgeCardIntroduction;
    /**知识卡片内容*/

    @TableField("KNOWLEDGE_CARD_CONTENT")
    private String knowledgeCardContent;
    /**发布时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
    @TableField(value = "PUBLISH_TIME", updateStrategy = FieldStrategy.IGNORED)
    private Date publishTime;

    /**撤销时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
    @TableField(value = "REVOKE_TIME", updateStrategy = FieldStrategy.IGNORED)
    private Date revokeTime;

    /**发布状态*/
    @TableField("PUBLISH_STATUS")
    private String publishStatus;

    /**创建人ID*/
    @TableField("CREATE_USER_ID")
    private String createUserId;

    /**创建时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
    @TableField(value = "CREATE_TIME", updateStrategy = FieldStrategy.IGNORED)
    private Date createTime;

    /**修改人ID*/
    @TableField("UPDATE_USER_ID")
    private String updateUserId;

    /**修改时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
    @TableField(value = "UPDATE_TIME", updateStrategy = FieldStrategy.IGNORED)
    private Date updateTime;

    /**备注*/
    @TableField("MEMO")
    private String memo;

    /**逻辑删除*/
    @TableField("IS_DELETE")
    @TableLogic(value = "0", delval = "1")
    private Boolean deleteFlag = false;
}
